WEB
easy_web
md5解码是123456,用数组绕过md5强比较,用数组溢出绕过c(参考蓝帽杯one_point_php),payload如下
得到压缩包密码,在网页背景图里,分离后解压即可
weblog
反序列化字符逃逸,直接上payload吧,凑了好久
1 | O:1:"A":2:{s:1:"1";s:18:"flagflagflagflag??";s:1:"1";s:101:"1";s:10:"weblogfile";s:35:"flagflagflagflagflagflagflagflag???"/../../../../var/www/html/fflaglag.php";} |
源码中第一个is_serialized函数检测的是数字后面指定位置是不是以”结束,所以最后会导致weblogfile中出现”,但是不影响读取,有一点很奇怪的事就是必须得以/../../.这样开头才能读取到flag,直接../../也不行,不知道为啥
RE
re_signin
套神把源码改的我不太看得懂,后来问他才知道统计下冒泡排序次数即可
1 | s = '''[73, 69, 60, 20, 64, 68, 99, 4, 36, 9, 91, 42, 75, 43, 8, 77, 55, 70, 84, 37, 3, 93] |
Crypto
签到
base64->hextostr->base64->base32即可
RSA256
原题,flag都没改
https://blog.csdn.net/weixin_41676901/article/details/84897686
要做也很简单,从公钥里导n,e,n挺小的很好分解,然后常规做法就好了
big exponent
strving师傅大意了,n可以分解,不然不会,n扔到factordb上分解后常规做法即可
导出n,e
1 | from Crypto.PublicKey import RSA |
分解n
求d和flag
1 | from binascii import b2a_hex, a2b_hex |
字符串与字节
脑洞题,上面取一位下面取一位合起来再八位一转字符即可
1 | from Crypto.Util.number import long_to_bytes |
Pwn
61happy
1 | from pwn import * |
MISC
very-ez-dump
搜索文件发现又flag.zip和hint.txt,hint里的内容说压缩包密码是用户密码,最后在cmdline里找到密码,过程不想重复了这里就不截图了,具体vol的命令自己网上搜
sign in
有密码的pdf,用apdfpr爆破下密码就好了,纯数字
Peltate
八神的题,被非预期了,放tweakpng里调成灰度图直接出了flag
每天一隐写,套神远离我,八神对套神的爱无处不在
base64 … or base56?
又是八神对套神的一次致敬,base64解码后补全八位再七位一组转字符即可
1 | import base64 |
happy六一
挺套的一个题还要用到pycc上的一个很少见的工具
先拿到一个happy和hint.txt,happy明显是倒过来的zip,写个脚本倒一下
1 | f = open('happy','rb') |
解压hp.txt得到一下文件
打开md发现只有六一两个字,结合文件名肯定是画图,先画出来
1 | # from PIL import Image |
画出来发现没有任何卵用,不知道意义何在。。
再看到_key.png,文件名前面加了下划线,加上stegsolve里看到01通道有lsb,明显的stegpy特征,现在就是找密钥
在文件末尾发现一串01,八位一组转字符
1 | # s = '01110000011101110110010000100000011010010111001100100000001100010011001000110011001101000011010100110110' |
得到stegpy密码123456
stegpy后得到一串base64,解密过程如下
1 | stegpy |
最后用Encrypto这个软件解密flag.crypto,得到一个flag.txt
全选一下,明显是snow隐写特征
)
!了反都,了反
套神的题,在流量包里发现的倒过来的rar,导出那个rar包,写个脚本反过来
1 | # f = open('123.rar','rb').read() |
打开rar发现密码是当前这个tcp流上面的密码,即passwd123
解压后得到前后颠倒的很多串base64,明显的base64隐写,把每一行倒过来后再找个base64隐写脚本解码即可
1 | f = open('flag/flag.txt').readlines() |
🍞🧀🍞
套神的题,也是最套的一个题了应该
前面两步都可以用厨子一把梭(cyberchef)
解压密码位祝好运
解压得到一个视频,视频后面分离下得到一个压缩包
)
视频打不开,盲猜异或,继续用厨子,视频比较大,需要跑一会
异或0x63的时候出了,导出发现还是播放不了,拖到010里随便找个mp4对比下,发现套神是把第四位0x20改成了0x18,改回来就好了
打开视频发现是玩梗,最近很火的两面包夹芝士,而压缩包的密码就是up的名字
打开发现是一张宽度被改的png,crc32没问题,爆破下宽度即可,得到宽度为0x02bc,宽度正常后再拉高高度,得到一个蓝奏云地址
下载下来得到一个加密的压缩吧,注释里发现malbolge语言
https://zb3.me/malbolge-tools/网站解码得到解压密码
下载下来得到一个张我们联合.png
观察文件末尾,发现明显的oursecret加密痕迹以及一句:明日方舟里为谁献出心脏?(5字符)
想起来b站两面包夹芝士视频p2里up主大喊过一句:为斯卡蒂献出心脏!https://www.bilibili.com/video/BV1bq4y177EK?p=2
所以oursecret密码为Skadi
记得的拖到oursecret解密的时候把后面那句话删掉,不然识别不到
要这样子oursecret才能识别
最后oursecret解码出一张一样的图片
本来一位不是盲水印就是xor,后来发现两张图都有lsb,经过套神提醒后才知道是两张图ADD后再lsb
包
八神再次致敬套神,套了好多层
首先是一张二进制二维码,取https://online-barcode-reader.inliteresearch.com/解码后复制进winhex即可
得到一个bz的压缩包,解压得到16张DataMatrix码
一开始还没意识到,八神提醒后才知道,上面那个解码网站就有,麻了
再将16张DataMatrix码按顺序拼成4*4的大码,去https://demo.dynamsoft.com/barcode-reader/解码,得到一大串base64
解码发现是zip
拿到zip后再解压发现是八神自己改编的brainfuck
8+8-这种就代表有几个加号几个减号,写脚本一步步还原,或者拿notepad++手撸,我脚本写太拉了,一步步来的,先还原两位数+-,再还原一位数+-,最后还原一位数.
1 | import re |
然后很坑的地方来了,试了很多python上的brainfuck解码发现解出来的压缩包都有问题,是坏的,最后tokeii师傅找到了可以把brainfuck解码成hex的网站https://gkucmierz.github.io/brainfuck-interpreter/,拿到最后一个zip
解压后发现是isd三个字符组成的编码,一Google就查到了,是deadfish编码,写个脚本转换下
1 | d = {'1' : 'i', |
拿到一串hex
1 | bc a6 b0 fc b0 fc bc a6 b0 fc b0 fc bc a6 b0 fc d6 bd b0 fc d6 bd b0 fc bc a6 b0 fc b0 fc bc a6 d6 bd b0 fc bc a6 b0 fc d6 bd b0 fc bc a6 |
放到winhex得到中文flag